<template>
	<view>
		<view class="movie-top">
			<view class="top-region" @click="getShow">
				<text>{{ cityInfo.city }}</text>
				<image src="../../static/images/movie-xiala.png"></image>
			</view>
			<view class="top-tab-list">
				<view class="tab-list-items" @click="gettab(value.type, index)"
					:class="{ 'sel-item': value.type == tanIndex }" v-for="(value, index) in tabLists" :key="index">
					{{ value.text }}
					<view class="cut-img" v-if="tanIndex == value.type"></view>
				</view>
			</view>
			<image src="../../static/images/movie-serchs.png" class="sechut"></image>
		</view>

		<view class="movie-main">
			<view class="movie-list" v-for="(movie,index) in dataList" :key="index" @click="getUrl(movie)">
				<view class="movie-img">
					<image :src="movie.posterUrl"></image>
				</view>
				<view class="movie-info">
					<view class="mo-info-top">
						<view class="tiel">{{ movie.name }}</view>
						<view class="movie-d"><text class="zimu">IMAX</text><text class="shuzi">2D</text></view>
					</view>
					<view class="rate-item">
						<u-rate :count="5" :value="movie.score" active-color="#FF6E06" :size="30" @tap.stop @change="(score)=>handleScore({
								id:movie.id,
								score,
							})"></u-rate>
						<text class="rate-nun">{{ movie.grade }}</text>
					</view>
					<view class="director">导演：{{ movie.director }}</view>
					<view class="to-star">主演：{{ movie.starring }}</view>

					<view class="calss-item">
						<view class="classify-item">{{ movie.duration }}分钟</view>
					</view>
				</view>
				<view class="movie-btns" v-if="tanIndex==1" @click="handleBuyTickets">购票</view>
			</view>
		</view>
		<TabBar />
	</view>
</template>

<script>
	// import {filmList,getCity} from "@/api/film.js"
	import * as movieService from "@/service/movie.js";
	export default {
		data() {
			return {
				tabLists: [{
						text: "正在热映",
						type: 1,
						isLoad: false,
						list: [],
					},
					{
						text: "即将上映",
						type: 2,
						isLoad: false,
						list: [],
					},
				],
				tanIndex: 1,
				rateValue: 3,
				dataList: [],
				index: 0,
				show: false,
				cityList: [],
				keyWord: "",
				cityShowList: [],
				isLoad: false,
				cityInfo: {
					city: "北京",
				},
				wellList: [], //所有热映数据
				soonList: [], //所有即将上映数据
				page: 1,
			};
		},
		onLoad(options) {
			//#ifdef H5
			const params = new URLSearchParams(window.location.search);
			const token = params.get("token");
			uni.setStorageSync("token", token);
			//#endif
			this.getList();
		},
		onReachBottom() {
			// this.page++
			// if(this.tanIndex==1){
			// 	this.dataList = this.dataList.concat(config.pageDataFn(this.page,8,this.wellList))
			// }else{
			// 	this.dataList = this.dataList.concat(config.pageDataFn(this.page,8,this.soonList))
			// }
		},
		methods: {
			async getList() {
				this.dataList = await movieService.queryMovies();
			},
			async handleScore(params) {
				await movieService.updateScore(params);
			},

			//跳转到电影院列表
			getUrl(data) {
				if (this.cityInfo.city == '定位中') {
					this.$toast("请选择位置信息")
					return false
				}
				let info = {
					position: this.cityInfo,
					info: data
				}
				console.log("info")
				console.log(info)
				uni.navigateTo({
					url: '/pages/movie/cinema-list',
					success: function(res) {
						// 通过eventChannel向被打开页面传送数据
						res.eventChannel.emit('filmDataFromOpene', {
							data: info
						})
					}
				})
			},
			gettab(type, index) {
				this.index = index;
				if (this.tanIndex != type) {
					this.tanIndex = type;
				}
			},
			getMy() {
				uni.redirectTo({
					url: "/pages/movie/moive-my",
				});
			},
			handleBuyTickets() {
				if (!uni.getStorageSync('token')) {
					uni.redirectTo({
						url: '/pages/login/login'
					})
				}
			}
		}
	}
</script>

<style lang="less">
	page {
		background-color: #f4f5f7;
		padding-bottom: 120rpx;
	}

	.movie-top {
		display: flex;
		align-items: center;
		position: fixed;
		// #ifdef  H5
		top: 88rpx;
		// #endif
		// #ifdef  MP-WEIXIN
		top: 0;
		// #endif
		left: 0;
		right: 0;
		background-color: #ffffff;
		padding: 30rpx 32rpx;
		z-index: 9999;
	}

	.top-region {
		display: flex;
		align-items: center;

		text {
			color: #636775;
			font-size: 28rpx;
		}

		image {
			width: 24rpx;
			height: 24rpx;
			margin-left: 8rpx;
		}
	}

	.top-tab-list {
		margin-left: 110rpx;
		display: flex;
		align-items: center;

		.tab-list-items {
			color: #636775;
			font-size: 28rpx;
			padding: 0rpx 25rpx;
			position: relative;
		}

		.sel-item {
			color: #2d3039 !important;
			font-size: 32rpx !important;
			font-weight: 600;
		}

		.cut-img {
			width: 52rpx;
			height: 8rpx;
			position: absolute;
			bottom: -30rpx;
			right: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			background-color: #fe602b;
		}
	}

	.sechut {
		margin-left: auto;
		width: 44rpx;
		height: 44rpx;
	}

	.movie-main {
		margin-top: 130rpx;
	}

	.movie-list {
		margin: 20rpx 25rpx 0rpx 25rpx;
		background-color: #ffffff;
		border-radius: 20rpx;
		padding: 28rpx 32rpx;
		display: flex;
		align-items: center;

		.movie-img {
			width: 180rpx;
			height: 248rpx;

			image {
				width: 180rpx;
				height: 248rpx;
				border-radius: 20rpx;
			}
		}

		.movie-info {
			margin-left: 24rpx;
			width: 50%;

			.mo-info-top {
				display: flex;
				align-items: center;

				.tiel {
					color: #2d3039;
					font-size: 32rpx;
					font-weight: 600;
				}

				.movie-d {
					margin-left: 20rpx;
					border-radius: 6rpx;
					border: 1rpx solid #c4c4c4;
					color: #a6a8ae;
					font-size: 17rpx;

					.zimu {
						padding: 2rpx 6rpx;
					}

					.shuzi {
						background-color: #c4c4c4;
						padding: 0rpx 6rpx;
						color: #ffffff;
					}
				}
			}
		}
	}

	.rate-item {
		display: flex;
		align-items: center;
		margin-top: 16rpx;

		.rate-nun {
			color: #ff6e06;
			font-size: 28rpx;
			font-weight: 550;
			margin-left: 16rpx;
		}
	}

	.director {
		color: #636775;
		font-size: 24rpx;
		margin-top: 16rpx;
	}

	.to-star {
		color: #787a82;
		font-size: 24rpx;
		margin-top: 10rpx;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.calss-item {
		display: flex;
		align-items: center;
		margin-top: 12rpx;

		.classify-item {
			padding: 6rpx 12rpx;
			border-radius: 6rpx;
			border: 2rpx solid #dadce4;
			color: #a6a8ae;
			font-size: 20rpx;
		}
	}

	.movie-btns {
		margin-left: auto;
		width: 110rpx;
		height: 58rpx;
		background: linear-gradient(207deg, #ff9272 0%, #fc5421 100%);
		border-radius: 29rpx;
		text-align: center;
		line-height: 58rpx;
		color: #ffffff;
		font-size: 24rpx;
		font-weight: 550;
	}

	.region-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 30rpx 20rpx;

		.region-left {
			width: 75%;
			border-radius: 40rpx;
			height: 68rpx;
			background-color: #f5f6f8;
			display: flex;
			align-items: center;
			padding-left: 30rpx;
		}

		.region-val {
			width: 90%;
			font-size: 30rpx;
		}

		.region-btn {
			background: linear-gradient(207deg, #ff9272 0%, #fc5421 100%);
			border-radius: 50rpx;
			height: 68rpx;
			text-align: center;
			width: 140rpx;
			line-height: 68rpx;
			color: #ffffff;
			font-size: 24rpx;
			font-weight: 550;
		}
	}

	.region-list {
		padding: 22rpx 35rpx;
		color: #2d3039;
		font-size: 32rpx;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-bottom: 2rpx solid #e2e2e2;
	}

	.empty {
		text-align: center;
		padding-top: 30rpx;
		color: #787a82;
		font-size: 24rpx;
	}

	.movie-boom {
		display: flex;
		align-items: center;
		padding-top: 16rpx;
		padding-bottom: 4rpx;
		background-color: #ffffff;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;

		.movie-boom-item {
			width: 50%;
			text-align: center;

			image {
				width: 48rpx;
				height: 48rpx;
			}

			.boom-item-text {
				color: #a2a4aa;
				font-size: 20rpx;
			}
		}
	}
</style>